<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/topology.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/topology.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * linux/include/asm-generic/topology.h</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * Written by: Matthew Dobson, IBM Corporation</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> *</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * Copyright (C) 2002, IBM Corp.</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> *</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * All rights reserved.</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> *</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * This program is free software; you can redistribute it and/or modify</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * it under the terms of the GNU General Public License as published by</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * the Free Software Foundation; either version 2 of the License, or</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * (at your option) any later version.</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> *</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * This program is distributed in the hope that it will be useful, but</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * NON INFRINGEMENT.  See the GNU General Public License for more</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * details.</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> *</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * You should have received a copy of the GNU General Public License</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * along with this program; if not, write to the Free Software</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> *</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * Send feedback to &lt;colpatch@us.ibm.com&gt;</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> */</span>
<a name="27" /><span class="True">      27:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX1RPUE9MT0dZX0hfMA__"><span class="b">_ASM_GENERIC_TOPOLOGY_H</span></a>
<a name="28" /><span class="True">      28:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX1RPUE9MT0dZX0hfMA__"><span class="b">_ASM_GENERIC_TOPOLOGY_H</span></a>
<a name="29" /><span class="True">      29:</span> 
<a name="30" /><span class="False">      30:</span> <span class="f">#</span><span class="n">ifndef</span>    <a href="cpu.c_macros_ref.html#_Q09ORklHX05VTUFfMA__"><span class="b">CONFIG_NUMA</span></a>
<a name="31" /><span class="False">      31:</span> 
<a name="32" /><span class="False">      32:</span> <span class="k">/* Other architectures wishing to use this simple topology API should fill</span>
<a name="33" /><span class="False">      33:</span> <span class="k">   in the below functions as appropriate in their own &lt;asm/topology.h&gt; file. */</span>
<a name="34" /><span class="False">      34:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">cpu_to_node</span>
<a name="35" /><span class="False">      35:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpu_to_node</span><span class="f">(</span><span class="b">cpu</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">cpu</span><span class="f">)</span><span class="f">,</span><span class="c">0</span><span class="f">)</span>
<a name="36" /><span class="False">      36:</span> <span class="f">#</span><span class="n">endif</span>
<a name="37" /><span class="False">      37:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">set_numa_node</span>
<a name="38" /><span class="False">      38:</span> <span class="f">#</span><span class="n">define</span> <span class="b">set_numa_node</span><span class="f">(</span><span class="b">node</span><span class="f">)</span>
<a name="39" /><span class="False">      39:</span> <span class="f">#</span><span class="n">endif</span>
<a name="40" /><span class="False">      40:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">set_cpu_numa_node</span>
<a name="41" /><span class="False">      41:</span> <span class="f">#</span><span class="n">define</span> <span class="b">set_cpu_numa_node</span><span class="f">(</span><span class="b">cpu</span><span class="f">,</span> <span class="b">node</span><span class="f">)</span>
<a name="42" /><span class="False">      42:</span> <span class="f">#</span><span class="n">endif</span>
<a name="43" /><span class="False">      43:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">cpu_to_mem</span>
<a name="44" /><span class="False">      44:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpu_to_mem</span><span class="f">(</span><span class="b">cpu</span><span class="f">)</span>        <span class="f">(</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">cpu</span><span class="f">)</span><span class="f">,</span><span class="c">0</span><span class="f">)</span>
<a name="45" /><span class="False">      45:</span> <span class="f">#</span><span class="n">endif</span>
<a name="46" /><span class="False">      46:</span> 
<a name="47" /><span class="False">      47:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_cGFyZW50X25vZGVfMA__"><span class="b">parent_node</span></a>
<a name="48" /><span class="False">      48:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_cGFyZW50X25vZGVfMA__"><span class="b">parent_node</span></a><span class="f">(</span><span class="b">node</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">node</span><span class="f">)</span><span class="f">,</span><span class="c">0</span><span class="f">)</span>
<a name="49" /><span class="False">      49:</span> <span class="f">#</span><span class="n">endif</span>
<a name="50" /><span class="False">      50:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">cpumask_of_node</span>
<a name="51" /><span class="False">      51:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpumask_of_node</span><span class="f">(</span><span class="b">node</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="b">node</span><span class="f">,</span> <span class="b">cpu_online_mask</span><span class="f">)</span>
<a name="52" /><span class="False">      52:</span> <span class="f">#</span><span class="n">endif</span>
<a name="53" /><span class="False">      53:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_cGNpYnVzX3RvX25vZGVfMA__"><span class="b">pcibus_to_node</span></a>
<a name="54" /><span class="False">      54:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_cGNpYnVzX3RvX25vZGVfMA__"><span class="b">pcibus_to_node</span></a><span class="f">(</span><span class="b">bus</span><span class="f">)</span>    <span class="f">(</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">(</span><span class="b">bus</span><span class="f">)</span><span class="f">,</span> <span class="f">-</span><span class="c">1</span><span class="f">)</span>
<a name="55" /><span class="False">      55:</span> <span class="f">#</span><span class="n">endif</span>
<a name="56" /><span class="False">      56:</span> 
<a name="57" /><span class="False">      57:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">cpumask_of_pcibus</span>
<a name="58" /><span class="False">      58:</span> <span class="f">#</span><span class="n">define</span> <span class="b">cpumask_of_pcibus</span><span class="f">(</span><span class="b">bus</span><span class="f">)</span>    <span class="f">(</span><a href="cpu.c_macros_ref.html#_cGNpYnVzX3RvX25vZGVfMA__"><span class="b">pcibus_to_node</span></a><span class="f">(</span><span class="b">bus</span><span class="f">)</span> <span class="f">==</span> <span class="f">-</span><span class="c">1</span> <span class="f">?</span>        \
<a name="59" /><span class="False">      59:</span>                  <a href="cpu.c_macros_noref.html#_Y3B1X2FsbF9tYXNrXzA_"><span class="b">cpu_all_mask</span></a> <span class="f">:</span>                \
<a name="60" /><span class="False">      60:</span>                  <span class="b">cpumask_of_node</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_cGNpYnVzX3RvX25vZGVfMA__"><span class="b">pcibus_to_node</span></a><span class="f">(</span><span class="b">bus</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="61" /><span class="False">      61:</span> <span class="f">#</span><span class="n">endif</span>
<a name="62" /><span class="False">      62:</span> 
<a name="63" /><span class="True">      63:</span> <span class="f">#</span><span class="n">endif</span>    <span class="k">/* CONFIG_NUMA */</span>
<a name="64" /><span class="True">      64:</span> 
<a name="65" /><span class="True">      65:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_Q09ORklHX05VTUFfMA__"><span class="b">CONFIG_NUMA</span></a><span class="f">)</span> <span class="f">||</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">CONFIG_HAVE_MEMORYLESS_NODES</span><span class="f">)</span>
<a name="66" /><span class="True">      66:</span> 
<a name="67" /><span class="True">      67:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_c2V0X251bWFfbWVtXzA_"><span class="b">set_numa_mem</span></a>
<a name="68" /><span class="True">      68:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_c2V0X251bWFfbWVtXzA_"><span class="b">set_numa_mem</span></a><span class="f">(</span><span class="b">node</span><span class="f">)</span>
<a name="69" /><span class="True">      69:</span> <span class="f">#</span><span class="n">endif</span>
<a name="70" /><span class="True">      70:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_c2V0X2NwdV9udW1hX21lbV8w"><span class="b">set_cpu_numa_mem</span></a>
<a name="71" /><span class="True">      71:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_c2V0X2NwdV9udW1hX21lbV8w"><span class="b">set_cpu_numa_mem</span></a><span class="f">(</span><span class="b">cpu</span><span class="f">,</span> <span class="b">node</span><span class="f">)</span>
<a name="72" /><span class="True">      72:</span> <span class="f">#</span><span class="n">endif</span>
<a name="73" /><span class="True">      73:</span> 
<a name="74" /><span class="True">      74:</span> <span class="f">#</span><span class="n">endif</span>    <span class="k">/* !CONFIG_NUMA || !CONFIG_HAVE_MEMORYLESS_NODES */</span>
<a name="75" /><span class="True">      75:</span> 
<a name="76" /><span class="True">      76:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _ASM_GENERIC_TOPOLOGY_H */</span>
<a name="77" /><span class="True">      77:</span> </pre>
  </body>
</html>
